home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / BNLDEV.DEM < prev    next >
Text File  |  1991-04-29  |  1KB  |  52 lines

  1. PROGRAM d7r9(input,output);
  2. (* driver for routine BNLDEV *)
  3. LABEL 10,99;
  4. CONST
  5.    n=20;
  6.    npts=1000;
  7.    iscal=200;
  8.    nn=100;
  9. VAR
  10.    glinext,glinextp : integer;
  11.    glma : ARRAY [1..55] OF real;
  12.    i,j,k,idum,klim,llen : integer;
  13.    pp,xm : real;
  14.    dist : ARRAY [0..20] OF real;
  15.    txt : PACKED ARRAY [1..50] OF char;
  16.  
  17. (*$I MODFILE.PAS *)
  18. (*$I RAN3.PAS *)
  19.  
  20. (*$I GAMMLN.PAS *)
  21.  
  22. (*$I BNLDEV.PAS *)
  23.  
  24. BEGIN
  25.    idum := -133;
  26.    llen := 50;
  27. 10:   FOR j := 0 to 20 DO BEGIN
  28.       dist[j] := 0.0
  29.    END;
  30.    writeln('Mean of binomial distribution (0 to 20) (neg to end)');
  31.    read(xm);
  32.    IF (xm < 0) THEN GOTO 99;
  33.    pp := xm/nn;
  34.    FOR i := 1 to npts DO BEGIN
  35.       j := round(bnldev(pp,nn,idum));
  36.       IF ((j >= 0) AND (j <= 20)) THEN dist[j] := dist[j]+1
  37.    END;
  38.    writeln('x':4,'p(x)':8,'graph:':10);
  39.    FOR j := 0 to 19 DO BEGIN
  40.       FOR k := 1 to llen DO txt[k] := ' ';
  41.       dist[j] := dist[j]/npts;
  42.       klim := round(iscal*dist[j])+1;
  43.       IF (klim > llen) THEN klim := llen;
  44.       FOR k := 1 to klim DO BEGIN
  45.          txt[k] := '*'
  46.       END;
  47.       writeln(j:4,dist[j]:9:4,'   ',txt)
  48.    END;
  49.    GOTO 10;
  50. 99:   
  51. END.
  52.